Typical computer systems, especially computer systems using graphical user interfaces (“GUIs”), are optimized for accepting user input from one or more discrete input devices, such as a keyboard for entering text and a pointing device, such as a mouse with one or more buttons, for operating the user interface. An example of such a GUI is the user interface for the Windows® computer operating system (available from Microsoft Corporation of Redmond, Wash.). The ubiquitous keyboard and mouse interface provides for fast creation and modification of documents, spreadsheets, database fields, drawings, photos, web pages, emails, and the like.
Recently, however, pen-based computing systems, such as tablet personal computers (“tablet PCs”), personal digital assistants (“PDAs”), and the like, have been increasing in popularity. With pen-based computing systems, user input advantageously may be introduced as “electronic ink” using an electronic “pen” or stylus (e.g., mimicking writing with a pen or pencil on a piece of paper). Indeed, in at least some pen-based computing systems, all user input is capable of being entered and manipulated using an electronic pen input device, and the user interface is fully controllable using only the electronic pen.
As pen-based computing systems become more popular, users are increasingly entering more data in the form of electronic ink. In many instances, users may wish to convert the original electronic ink data to machine-generated text, e.g., text suitable for use and manipulation by conventional word processing programs, spreadsheet programs, email programs, document management programs, web browsers, etc. While handwriting recognition technology for converting handwritten electronic ink text to machine-generated text has improved in recent years, recognizers of this type, in at least some instances, still may be relatively slow. In some instances, handwriting recognition of newly input electronic ink data still may be taking place when a focus change command is received by the computer system. A focus change may change the active cursor or insertion location in a single application program and/or electronic document, or it may change the active application program and/or electronic document open and available to receive input data. When focus changes occur before handwriting recognition has been completed or while it is ongoing, the recognized text corresponding to the input will be first available only after the focus change occurs, which typically results in the recognized text being inserted at an incorrect or undesired location (e.g., at the new focus location). In some instances, for example when the new focus location is not adapted to receive input, the user input may be lost when the focus changes.
Focus changes, including system-generated focus changes, user-initiated focus changes, inadvertent or unexpected focus changes, and the like, can affect input other than electronic ink input. For example, speech input and/or keyboard input also may be misdirected, mislocated, or lost due to focus changes.
The above-noted issues associated with data input and focus changes in computing systems can lead to user frustration. Accordingly, there is a need in the art for improved input insertion and/or recognition capabilities, particularly surrounding a focus change event, so that user input is correctly directed despite the existence of a focus change.